/*
 * 
 *
 *
 */
package com.hboxs.asl.service;

import com.hboxs.asl.entity.VerificationCode;

import java.util.Date;

/**
 * Service - 手机验证码
 */
public interface VerificationCodeService extends BaseService<VerificationCode, Long> {

    /**
     * 判断是否已经申请验证码
     *
     * @param phone 用户名(忽略大小写)
     * @return 用户申请记录是否存在
     */
    boolean phoneExists(String phone);

    /**
     * 根据用户手机号码查找会员
     *
     * @param phone 用户手机号码(忽略大小写)
     * @return 用户申请验证码记录，若不存在则返回null
     */
    VerificationCode findByPhone(String phone);

    /**
     * 保存用户申请记录
     * @param verificationCode   用户申请记录
     */
    void save(VerificationCode verificationCode);


    /**
     * 更新会员申请验证码记录
     *
     * @param verificationCode        会员申请验证码记录
     * @param code   当前有效验证吗
     * @param date 用户申请舌尖
     */
    void update(VerificationCode verificationCode, String code, Date date);
}
